An “Enumeration” Type can have any BaseType
.
An “Enumeration” Type can, but need not, list Facets
. Each Facet
is an allowed value for an instance of the Type. The list of Facets
may, or may not, be exhaustive or subject to change. This means that an instance of the Type may, or may not, be permitted to have a value that is not listed in the Facets
– it is probably not possible to be sure by looking at the Types Register alone. Refer to the DefiningDocument
or relevant Standard for full details about each Type entry.
If an “Enumeration” Type lists Facets
then the Type must have one of the BaseType
s given below. This is so that the format of each Value
, and any relevant restrictions on the Value
s, are known by all users of the Types Register. Additional BaseType
s may be added below at any time.
If BaseType
is the UL of an “Integer” Type then:
- Each
Value
in theFacets
must be a string that is a decimal representation of an integer - Each
Value
in theFacets
must represent an integer that is unique within theFacets
of the Type
If BaseType
is the UL of the “AUID” Type then:
- Each
Value
in theFacets
must be a string that is a urn representation of a UL of an entry in the Labels Register - Each
Value
in theFacets
must represent a UL that is unique within theFacets
of the Type
If BaseType
is the UL of a “String” Type, and that “String” Type has a BaseType
which is the UL of a “Character” Type then:
- Each
Value
in theFacets
must be unique within theFacets
of the Type -
Some further explanation applying to this case:
-
Each
Value
is a string/text and each instance of the “Enumeration” Type is also a string/text – therefore, the only conversion that may be required is to convert the character encoding used (e.g. US-ASCII to UTF-8). - Practically, it is possible for
Value
s in the Types Register XML files to be any sequence of Unicode code points. - Clearly each
Value
must only use Unicode code points that are supported by theBaseType
(so, for example, there are restrictions if theBaseType
is “ISO7” (a US-ASCII string) but not if theBaseType
is “UTF8String”). - If, and only if, two
Value
s withinFacets
of a Type are identical sequences of Unicode code points then they are considered to be identical for the purposes of the “must be unique” constraint above. Note that there are no further globally imposed restrictions on the contents of theValue
s – for example, there are no restrictions on the use of whitespace and no stipulations in relation to case sensitivity.